/**
 *
 */
package com.honeybees.framework.sso;

/**
 * <dl>
 * <dt><b> 单点登录 Session 常量类 </b></dt>
 * <p>
 * <dd>不要使用一个常量类维护所有常量，应该按常量功能进行归类，分开维护。</dd>
 * </dl>
 * <p>
 * Copyright (C) All rights reserved.
 * </p>
 *
 * @author 李远明
 * @since 2015-10-23 14:53:35 新建
 */
public class SessionConsts {

    private SessionConsts() {
    }

    /**
     * 缓存 用户的 SessionID
     *
     * @version 2015-12-31 14:43:47
     */
    public static final String NS_MOCK_SESSION_USER = "framework:sso.privilege.sessionId.user";
    /**
     * 缓存 SessionID 对应的 Session
     *
     * @version 2015-12-31 14:42:17
     */
    public static final String NS_MOCK_SESSION = "framework:sso.privilege.mockSession";

    /**
     * 缓存 用户菜单 命名空间
     *
     * @version 2016-03-10 14:59:11
     * @version 2017-03-15 21:28:16 注释这一行，冗余
     */
    // public static final String NS_MOCK_SESSION_MENU = "framework:sso.privilege.mocksession.menu";

    /* ******************************************************/

    /**
     * MockSession: seed
     */
    public static final String KEY_COOKIE_seed = "$aa$";
    /**
     * MockSession: sessionId
     *
     * @see #KEY_SESSION_ID_IN_REQUEST
     */
    public static final String KEY_COOKIE_sessionId = "$bb$";
    /**
     * MockSession: userId
     * <p>
     * 登录成功后，设值
     */
    public static final String KEY_COOKIE_userId = "$cc$";

    /**
     * 加密密钥
     */
    public static final String KEY_COOKIE_ENCRYPT_KEY = "bfa6026a858e4d3eb9192856ee624590";

    /**
     * 有效的 sessionId，与 {@link #KEY_COOKIE_sessionId} 的值相同
     * <p>
     * 不论是否登录，这个属性都要有值
     * </p>
     */
    public static final String KEY_SESSION_ID_IN_REQUEST = "com.honeybees.sso.Session.id";
    /**
     * HTTP请求中的 session 信息，有这个值，表示用户是登录状态
     * <p>
     * 登录后，这个属性有值
     * </p>
     */
    public static final String KEY_SESSION_IN_REQUEST = "com.honeybees.sso.Session";
    /**
     * HTTP请求中的 userId 信息，有这个值，表示用户是登录状态
     */
    public static final String KEY_SESSION_USER_ID_IN_REQUEST = "com.honeybees.sso.Session.User.id";

    /**
     * 不拦截指定的URI
     *
     * @version 2017-03-11 10:34:21
     */
    public static final String KEY_SKIP_URI_IN_REQUEST = "com.honeybees.sso.SkipUri";
}
